b092716f12ea31679036d90200e8c380f8be842c,src/main/java/com/force/api/ForceApi.java,ForceApi,query,#String#Class#,195
Before Change
public <T> QueryResult<T> query(String query, Class<T> clazz) {
try {
HttpResponse res = Http.send(new HttpRequest()
.url(session.getApiEndpoint()+"/services/data/"+config.getApiVersion()+"/query/?q="+URLEncoder.encode(query,"UTF-8"))
.method("GET")
.header("Accept", "application/json")
.header("Authorization", "OAuth "+session.getAccessToken()));
// We build the result manually, because we can't pass the type information easily into
// the JSON parser mechanism.
if(res.getResponseCode()==200) {
QueryResult<T> result = new QueryResult<T>();
JsonNode root = jsonMapper.readTree(res.getStream());
result.setDone(root.get("done").getBooleanValue());
result.setTotalSize(root.get("totalSize").getIntValue());
if(root.get("nextRecodsUrl")!=null) {
result.setNextRecordsUrl(root.get("nextRecordsUrl").getTextValue());
}
List<T> records = new ArrayList<T>();
for(JsonNode elem : root.get("records")) {
records.add(jsonMapper.readValue(elem,clazz));
}
result.setRecords(records);
return result;
} else {
// TODO: fix
System.out.println("Code: "+res.getResponseCode());
System.out.println("Message: "+res.getString());
throw new RuntimeException();
}
} catch (JsonParseException e) {
throw new ResourceException(e);
After Change
public <T> QueryResult<T> query(String query, Class<T> clazz) {
try {
HttpResponse res = apiRequest(new HttpRequest()
.url(uriBase()+"/query/?q="+URLEncoder.encode(query,"UTF-8"))
.method("GET")
.header("Accept", "application/json")
.expectsCode(200));
// We build the result manually, because we can't pass the type information easily into
// the JSON parser mechanism.